【実践】Google Colab Enterprise ノートブック単位でアクセスを制御する方法を解説
概要
Google Colab Enterpriseとは、企業でGoogle Colabを利用したい時に活用できるセキュリティや統合性を重視したエディタープラットフォームになります。
統合性とは、Google Cloudのサービスとシームレスに連携できるため、開発がよりスピーディかつ楽に行えます。
また、今回ご紹介する「ノートブック単位でアクセスを制御する」場合、IAMロールを使用したセキュリティガバナンス向上に寄与します。
通常のWebから使用できるGoogle Colabでは、IAMを使用したユーザーのアクセス制御の概念自体が無いため、この辺りが企業での運用を意識した構成なっています。
細かな基礎的な解説は前回ブログにしているので、ご覧ください。
IAMロール
実際に触る前にGoogle CloudとしてのIAMについて簡単に解説します。
まず、先もお伝えした通り、通常のGoogle Colabとの違いはセキュリティ機能や統合性と説明しました。
それはGoogle Cloud内部で実行されるのが今回のColab Enterpriseだからです。
それにより、Google Cloud内のセキュリティ機能と連携することができ、当然IAM制御も可能となります。
そして、このIAM制御とは、Google Cloud内に存在するプリンシパル(ユーザーやサービスアカウント)に対してロール(権限)を割り当てることで、そのリソースへのアクセス自体を許可するといったものです。
以下のブログでも、IAMロールについて整理しているのでご覧ください。
ノートブック単位でアクセスを制御
ここからは実際にGoogle Cloud コンソールを操作して、IAMでのアクセス制御を行います。
- Google Cloud コンソールの検索窓に[Colab Enterprise]と入力し、Vertex AIサービスの画面へ移動します。
- 各ノートブックの左端にある赤枠を押下します。
- 小さなポップアップが開いたら[共有]をクリックします。
- 赤枠の[ADD/USER Group]を押下します。
- 追加する[IAMユーザー]を入力し、[ロール]を3種類から選択します。
- 1つ前の画面に戻り、ユーザーが追加されているか確認してください。
では、先ほど追加したユーザーでこのプロジェクトのデモノートブックを開いてみましょう。
- 先ほどノートブック左端を押下し[共有]を選択しましたが、今回は[リンクを取得]をクリックします。
- 取得したリンクを追加したIAMユーザーのChromeで開きますが、下記のようにエラーが出てしまいました。
- プロジェクト自体に権限が必要なため、コンソールに戻ります。
- コンソールの検索窓から[IAMと管理]を入力して移動し、[アクセス権を付与]をクリックします。(Dataform閲覧者ロールを付与)
- もう一度付与したユーザーのChromeでコンソールのデモノートブックを開いてみましょう。
- 無事デモノートブックが表示されました。ただし、閲覧者の権限のためノートブックの編集などはできません。
今回のようにプロジェクトで必要な権限とそのリソースで必要な権限が分かれている場合が多いので、IAM権限のエラー解決が必要な際には覚えておくことはおすすめします。
まとめ
今回はGoogle Colab Enterpriseのノートブック単位でのアクセス制御について解説しました。
Colab EnterpriseはGoogle Cloudの一部であるため、その他のGoogle Cloudサービスの仕組みを理解することが求められます。
しかし、クラウド環境を運用する際にはセキュリティやガバナンスの遵守が不可欠なため、中央集中的にPythonコードの環境を統一したい場合には非常に便利です。
ぜひ、Google Cloudでの運用を検討してみてください。